﻿using System;

namespace Kiiro.Common.Utility
{
    public enum EditType
    {
        Created = 0,
        Deleted = 1,
        Unchanged = 2,
        Updated = 3
    }

    public enum ProjectType
    {
        FixedDates = 2,
        Ongoing = 0,
        TimeBoxed = 1
    }

    public enum TimeMetric
    {
        Days = 0,
        Hours = 1,
        Minutes = 2,
        Months = 3,
        Weeks = 4
    }

    public enum ValidationSeverity
    {
        Critical = 0,
        Information = 1,
        Validation = 2
    }

    public enum StatusType : byte
    {
        Completed = 0,
        InProgress = 1,
        NotStarted = 2,
        Open = 3,
        OnHold = 4,
        Closed = 5
    }

    public enum ProjectStatus
    {
        Active = 0,
        BeingPlanned = 1,
        Closed = 2
    }

    public enum PageMode
    {
        Display,
        Edit,
        New
    }

    /// <summary>
    /// Enum for user's role in Kiiro
    /// </summary>
    public enum AppRole
    {
        SPAdmin = 0,
        SystemAccount = 1,
        Admin = 2,
        User = 3,
        ProjectManager = 4,
        TeamMember = 5,
        Visitor = 6
    }

    public enum KiiroGroup
    {
        PortalOwner = 0,
        ProjectOwner = 1,
        ProjectMember = 2,
        PortalMember = 3,
        Visitor = 4
    }

    /// <summary>
    /// Enum for entity type in Kiiro
    /// </summary>
    public enum EntityType
    {
        Setup,
        User,
        Project,
        Activity,
        Teams,
        Work,
        Discussions,
        Documents,
        Lists
    }

    /// <summary>
    /// Enum for work type in Kiiro
    /// </summary>
    public enum WorkType
    {
        Task = 0,
        Issue = 1
    }

    ///<summary>
    ///Enum for EventType
    ///</summary>
    public enum EventType
    {
        Created = 0,
        Updated = 1,
        Synced = 2,
        Versioned = 3,
        Completed = 4
    }

    ///<summary>
    ///Enum for ItemType
    ///</summary>
    public enum ItemType
    {
        Project = 0,
        ProjectPlan = 1,
        Task = 2,
        Issue = 3,
        Document = 4,
        Discussion = 5,
        Comment = 6,
        CustomItem = 7,
        User = 8,
        All = 9
    }

    public enum AjaxOperationType
    {
        SaveWork = 0,
        SaveUserStatus = 1,
        SaveProjectSummaryNote = 2,
        LookupADUserInformation = 3,
        MoveFileOrFolder = 4,
        RenameFileOrFolder = 5
    }

    /// <summary>
    /// Enum for License Key validation operation (used in LicensingModel)
    /// </summary>
    public enum WebAppOperation
    {
        PortalCount = 0,
        ProjectCount = 1,
        ActiveUsers = 2
    }

    /// <summary>
    /// Enum for Timer Job maintenance operation (used in SetupModel)
    /// </summary>
    public enum TimerJobOperation
    {
        InstallProjectStatistics = 0,
        UninstallProjectStatistics = 1,
        InstallIncomingDiscussionEmail = 2,
        UninstallIncomingDiscussionEmail = 3
    }

    public enum OperationStatus
    {
        None = 0,
        Failure = 1,
        Warning = 2,
        Success = 3,
    }
}

/*************************************************************************
 * 
 * $Log: /Internal Projects/Kiiro/Kiiro.Common/Utility/Enums.cs $
 * 
 * 8     1/25/10 1:17p Camerons
 * 
 * 7     1/21/10 2:40p Camerons
 * 
 * 6     15/09/09 2:28p Camerons
 * 
 * 5     9/03/09 12:18p Stefanf
 * 
 * 4     17/08/09 10:38a Camerons
 * Added check-in comments section
 * 
 ************************************************************************/